package com.example.shiro.bean;

import lombok.Data;

import javax.persistence.*;
import java.io.Serializable;
import java.util.List;

/**
 * Copyright(C), 2020-2021, AmbroseCdMeng
 * FileName:    Admin
 * Author:      AmbroseCdMeng
 * Date:        2021/2/24 16:34
 * Description: 管理员实体，用来存放管理员信息
 * History:
 * <author>     <time>      <version>       <desc>
 * 作者姓名     修改时间        版本号           描述
 */
@Entity
@Data
public class Admin implements Serializable {
    @Id
    @GeneratedValue
    private Integer uid;
    @Column(unique=true)
    private String username;    // 账号
    private String name;    // 名称
    private String password;    // 密码
    private String salt;    // 加密密码的盐
    private byte state;     // 用户状态。 0 ：创建但未认证； 1：正常状态； 2：被锁定

    @ManyToMany(fetch = FetchType.EAGER)
    @JoinTable(name = "SysUserRole", joinColumns = {@JoinColumn(name = "uid")}, inverseJoinColumns = {@JoinColumn(name = "roleId")})
    // 一个用户具有多个角色
    private List<SysRole> roleList;
}
